
import { axios } from '@/utils/request'
import { METHOD } from '@/store/mutation-types'

// 新增菜单
export function addMenu(parameter) {
  return axios({
    url: '/res/url/add',
    method: METHOD.POST,
    data: parameter
  })
}

// 更新菜单
export function editMenu(parameter) {
  return axios({
    url: '/res/url/edit',
    method: METHOD.PUT,
    data: parameter
  })
}

// 新增角色
export function addRole(parameter) {
  return axios({
    url: '/role/add',
    method: METHOD.POST,
    data: parameter
  })
}

// 更新角色
export function editRole(parameter) {
  return axios({
    url: '/role/edit',
    method: METHOD.PUT,
    data: parameter
  })
}

// 角色绑定演员
export function roleAddActors(id, parameter) {
  return axios({
    url: `/role/list/${id}/add/actors`,
    method: METHOD.POST,
    data: parameter
  })
}

// 角色解除绑定演员
export function roleDelActors(id, parameter) {
  return axios({
    url: `/role/list/${id}/remove/actors`,
    method: METHOD.POST,
    data: parameter
  })
}

// 角色绑定菜单权限
export function saveRolePermission(parameter) {
  return axios({
    url: '/permiss/add/batch',
    method: METHOD.POST,
    data: parameter
  })
}

// 角色查看已绑定菜单权限
export function queryRolePermission(parameter) {
  return axios({
    url: '/permiss/list',
    method: METHOD.GET,
    params: parameter
  })
}

// 查看全部菜单
export function queryTreeListForRole(parameter) {
  return axios({
    url: '/res/url/list',
    method: METHOD.GET,
    params: parameter
  })
}

// 查询数据源列表
export function queryFactoryList() {
  return axios({
    url: '/excel/import/factory/list',
    method: METHOD.GET
  })
}

// 查询实体类列表
export function queryEntityManagerFactoryList(entityManagerFactoryName) {
  return axios({
    url: `/excel/import/factory/list/${entityManagerFactoryName}/list`,
    method: METHOD.GET
  })
}

// 新增导入方案
export function addExcelImport(parameter) {
  return axios({
    url: '/excel/import/add',
    method: METHOD.POST,
    data: parameter
  })
}

// 更新导入方案
export function editExcelImport(parameter) {
  return axios({
    url: '/excel/import/edit',
    method: METHOD.PUT,
    data: parameter
  })
}

// 查询前置处理器
export function queryParserPreList() {
  return axios({
    url: '/excel/import/parser/pre/list',
    method: METHOD.GET
  })
}

// 查询后置处理器
export function queryParserPostList() {
  return axios({
    url: '/excel/import/parser/post/list',
    method: METHOD.GET
  })
}

// 生成规则映射
export function createMappingRuleList(parameter) {
  return axios({
    url: '/excel/import/rule/mapping/create',
    method: METHOD.POST,
    data: parameter
  })
}
// 删除规则
export function removeMappingRule(ruleId) {
  return axios({
    url: `/excel/import/rule/remove/${ruleId}`,
    method: METHOD.DELETE
  })
}

// 新增规则
export function addMappingRule(parameter) {
  return axios({
    url: '/excel/import/rule/add',
    method: METHOD.POST,
    data: parameter
  })
}

export function editMappingRule(parameter) {
  return axios({
    url: '/excel/import/rule/edit',
    method: METHOD.PUT,
    data: parameter
  })
}

// 部门查询未关联用户
export function deptWithoutUser(id, parameter) {
  return axios({
    url: `/dept/user/without/${id}`,
    method: METHOD.GET,
    params: parameter
  })
}

// 部门绑定用户
export function deptAddUser(parameter) {
  return axios({
    url: `/dept/user/add`,
    method: METHOD.POST,
    data: parameter
  })
}

// 部门解除绑定用户
export function deptDelUsers(deptId, userId) {
  return axios({
    url: `/dept/user/delete/${deptId}/${userId}`,
    method: METHOD.DELETE
  })
}

// 角色查询未关联部门
export function roleWithoutDept(id, parameter) {
  return axios({
    url: `/dept/role/without/${id}`,
    method: METHOD.GET,
    params: parameter
  })
}

// 角色绑定部门
export function roleAddDept(parameter) {
  return axios({
    url: `/dept/role/add`,
    method: METHOD.POST,
    data: parameter
  })
}

// 部门解除绑定角色
export function roleDelDept(deptId, roleId) {
  return axios({
    url: `/dept/role/delete/${roleId}/${deptId}`,
    method: METHOD.DELETE
  })
}
